home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
PROGRAMMING
/
DESKLIBC
/
SOURCES.ZIP
/
DeskLib
/
!DLSources
/
Libraries
/
Misc
/
c
/
SWI
< prev
next >
Wrap
Text File
|
1995-07-09
|
1KB
|
51 lines
/*
#### # # # #
# # # # # The FreeWare C library for
# # ## ### # # # # ### RISC OS machines
# # # # # # # # # # # ___________________________________
# # #### ### ## # # # #
# # # # # # # # # # Please refer to the accompanying
#### ### #### # # ##### # ### documentation for conditions of use
________________________________________________________________________
File: Misc.SWI.c
Author: Copyright © 1992 Jason Williams
Version: 1.00 (22 Mar 1992)
Purpose: SWI call veneer function
*/
#include <stdarg.h>
#include "kernel.h"
#include "DeskLib:Core.h"
#include "DeskLib:SWI.h"
os_error *SWI(int numregsin, int numregsout, int swicode, ...)
{
va_list ap;
_kernel_swi_regs regsin, regsout;
_kernel_oserror *error;
register int loop;
int *temp;
va_start(ap, swicode);
for (loop = 0; loop < numregsin; loop++)
regsin.r[loop] = va_arg(ap, int);
error = _kernel_swi(swicode, ®sin, ®sout);
for (loop = 0; loop < numregsout; loop++)
{
temp = va_arg(ap, int *);
if (temp != NULL)
*temp = regsout.r[loop];
}
va_end(ap);
return((os_error *) error);
}